﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using System.Globalization;
using NHibernate;
using PagoSOAPService.Dominio;

namespace PagoSOAPService.Persistencia
{
    public class PagoDAO : BaseDAO<Pago, int>
    {

        public int RegistrarPago(int idPago, string banco, string ctabancaria, string moneda, string monto)
        {
           
                using (ISession sesion = NHibernateHelper.ObtenerSesion())
                {
                    string sentenciaSQL = "insert into Pago values (:IdPago , :Banco, :CtaBancaria, :Moneda, :Monto)";

                    IQuery query = sesion.CreateSQLQuery(sentenciaSQL);
                    query.SetParameter("IdPago", idPago);
                    query.SetParameter("Banco", banco);
                    query.SetParameter("CtaBancaria", ctabancaria);
                    query.SetParameter("Moneda", moneda);
                    query.SetParameter("Monto", monto);
                    query.ExecuteUpdate();
                    return idPago;
                }
           
        }

        public int ObtenerNuevoIDPago()
        {
            
                using (ISession sesion = NHibernateHelper.ObtenerSesion())
                {
                    string sentenciaSQL = "select isNull(max(IdPago),0) IdPago from Pago";
                    IQuery query = sesion.CreateSQLQuery(sentenciaSQL);
                    IList<int> maxID = query.List<int>();
                    return maxID[0] + 1;
                }
            
            

        }
    }
}